/*
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 * 
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Library General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor Boston, MA 02110-1301,  USA
 */

/*
 * @version bsp.utils.Debug v 1.0.0
 * @author Dr.NP <np@bsgroup.org>
 * @package BS.Play
 *
 * Debug utils
 */

package bsp.utils
{
	import flash.utils.ByteArray;
	
	public class Debug
	{
		static public function trace_hex(d : ByteArray) : String
		{
			var output : String = '';
			var ret : String = '';
			var curr : String;
			
			for (var i : int = 0; i < d.length; i ++)
			{
				curr = d[i].toString(16);
				
				if (curr.length < 2)
				{
					curr = '0' + curr;
				}
				
				if (i % 0x10 == 0)
				{
					ret += "\n";
				}
				
				else if (i % 0x8 == 0)
				{
					ret += '  ';
				}
				
				ret += ' ' + curr;
			}
			
			output = 'Trace binary data : (' + d.length + ') bytes' + ret;
			
			trace(output);
			
			return ret;
		}
		
		public function Debug(enforcer : SingletonEnforcer)
		{
			// NOOP
		}
	}
}

class SingletonEnforcer {}